Branches and named revisions are used together to allow multiple paths of
development to be supported. Each separate development has a branch, and each
branch has a name. This project uses branches in two somewhat different cases
of divergent development:
- For systems that we have imported from the outside, we generally assign a
``cmu'' branch for our local modifications. When a new release comes
along, we check it in on the trunk, and then merge our branch back in.
- For the early development and debugging of major system changes, where
the development and debugging is expected to take long enough that we wouldn't
want the trunk to be in an inconsistent state for that long.